package root.historic.componenteLog;

import java.util.GregorianCalendar;

import root.historic.componenteLog.TerminoDeEmprestimo;


public class TerminoDeEmprestimo implements ComponenteLog{
	
	private String nomeDono;
	private String nomeItem;
	private GregorianCalendar dataCriacao;
	
	public TerminoDeEmprestimo(String amigo1, String nomeItem){
		this.nomeDono = amigo1;
		this.nomeItem = nomeItem;
		dataCriacao = new GregorianCalendar();
	}
	
	@Override
	public String toString(){
		return String.format("%s confirmou o término do empréstimo do item %s", nomeDono,nomeItem);
	}
	
	@Override
	public boolean equals(Object o){
		if(!(o instanceof TerminoDeEmprestimo)) return false;
		TerminoDeEmprestimo terminoEmprestimo = (TerminoDeEmprestimo) o;
		return nomeDono.equals(terminoEmprestimo.nomeDono) && nomeItem.equals(terminoEmprestimo.nomeItem);
	}

	@Override
	public GregorianCalendar getDataCriacao() {
		return dataCriacao;
	}

	@Override
	public int compareTo(ComponenteLog arg0) {
		if(equals(arg0)) return 0;
		if(arg0.getDataCriacao().compareTo(dataCriacao) == 0) return 1;
		return arg0.getDataCriacao().compareTo(dataCriacao);
	}
	@Override
	public int hashCode() {
		// TODO Auto-generated method stub
		return nomeDono.concat(nomeItem).hashCode();
	}
}

